import { configStatusTypeEnum } from '@/constants/enum';

export interface pageConfigParams {
  configName?: string;
  creator?: string;
  status?: string;
  updateTimeStart?: string;
  updateTimeEnd?: string;
  createTime?: string[];
}

// 填报配置分页列表 返回参数
export interface GetConfigListResult {
  id: string;
  // 配置编号
  configNo: string;
  // 配置主题
  configName: string;
  // 发起人
  creator: string;
  // 配置状态
  status: keyof typeof configStatusTypeEnum;
  // 首次填报周期
  fillPeriod: string;
  // 更新时间
  updateTime: string;
}

export interface IFillOrganization {
  organizationCode: string;
  organizationName: string;
  inventoryNo: string;
  // 临时存储用于最后赋值
  inventoryNoTemp?: string;
  inventoryName: string;
  auditorId: number;
  auditor: string;
  // auditorIdTemp临时存储用于最后赋值
  auditorIdTemp?: number;
  auditorEmail: string;
}
// 完成配置/暂存配置 请求参数
export interface EnergyConfigSaveParams {
  // 配置编号，新增时不填，编辑时必填
  configNo?: string;
  // 组织编号
  organizationCode?: string;
  // 填报周期
  fillPeriod?: string;
  fillFrequency?: string;
  fillOrganizationInfo: IFillOrganization[];
}
export type EditConfigParams = Omit<
  EnergyConfigSaveParams,
  'organizationCode' | 'fillPeriod' | 'fillFrequency'
>;

// 配置详情查询 返回参数
export interface GetByConfigNoResult extends Omit<EnergyConfigSaveParams, 'configNo'> {
  taskDesc: string;
  // 状态
  configStatus: string;
}

export interface ListUserByOrgResult {
  // 用户id
  userId: string;
  // 组织名称
  organizationName: string;
  // 真实名称
  realName: string;
  // 邮箱
  email: string;
}
